package city.spring.modules.material.repository;

import city.spring.modules.material.entity.MaterialdeliveryMaterialExtEntity;
import city.spring.modules.material.vo.MaterialdeliveryMaterialVO;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 存储库：物资出库与物资关联表
 *
 * @author 谢金婷
 * @date 2020-07-02 13:42:10
 */
@Repository
public interface MaterialdeliveryMaterialExtRepository extends BaseMapper<MaterialdeliveryMaterialExtEntity> {
    /**
     * 获取出库的物资列表
     *
     * @param wrapper 查询对象
     * @return
     */
    List<MaterialdeliveryMaterialVO> getMaterials(@Param(Constants.WRAPPER) Wrapper<? extends MaterialdeliveryMaterialExtEntity> wrapper);

    /**
     * 获取出库的物资列表
     *
     * @param materialdeliveryId 出库单ID
     * @return
     */
    List<MaterialdeliveryMaterialVO> getDeliveryMaterials(String materialdeliveryId);

    /**
     * 获取出库的某个物资
     *
     * @param materialdeliveryId 出库ID
     * @param extId              主键ID
     * @return
     */
    MaterialdeliveryMaterialVO getDeliveryMaterial(String materialdeliveryId, String extId);

    /**
     * 获取出库的物资列表
     *
     * @param materialdeliveryId 出库单ID
     * @return
     */
    List<MaterialdeliveryMaterialExtEntity> getDeliveryMts(String materialdeliveryId);

    /**
     * 根据deliveryId查找该deliveryId下的出库物资
     *
     * @param materialdeliveryId
     * @return
     */
    List<MaterialdeliveryMaterialExtEntity> getByDeliveryId(String materialdeliveryId);
}